package com.meilai.project.service.business.offer;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.meilai.project.dto.business.offer.OfferFlowDTO;
import com.meilai.project.entity.business.offer.OfferFlow;

/**
 * <p>
 * 报价审核表 服务类
 * </p>
 *
 * @author xhy
 * @since 2022-01-11
 */
public interface OfferFlowService extends IService<OfferFlow> {
    /**
     * 保存数据并开启流程
     *
     * @param dto
     * @return
     */
    Boolean saveAndStartFlow(OfferFlowDTO dto, Long wfData_id);

    /**
     * 保存至草稿箱临时方法
     *
     * @param dto
     * @return
     */
    Boolean save(OfferFlowDTO dto, Boolean tmp,Long wf_data_id);

    /**
     * 审核方法
     *
     * @param id
     * @return
     */
    Boolean check(Long id, Boolean is_return,String opinion);

    /**
     * 分页查询
     *
     * @param page
     * @param page_size
     * @param name
     * @return
     */
    Page<OfferFlow> page(Integer page, Integer page_size, String name, Boolean is_check_page);

    /**
     * 获取待审批的数量
     *
     * @return
     */
    Integer getCount();

    /**
     * 获取详细信息
     *
     * @param id
     * @return
     */
    OfferFlow getInfoById(Long id);

    /**
     * 删除流程
     *
     * @param flow_id
     * @return
     */
    Boolean remove(Long flow_id, Long wf_data_id);

    /**
     * 彻底删除方法
     *
     * @param flow_id
     * @param wf_data_id
     * @return
     */
    Boolean actualDelete(Long flow_id, Long wf_data_id);
}
